"""
不使用账号和密码，也可以登录某些网站，前提：该网站已登录过，且没有清除 cookie

原理：
当在客户端输入账号和密码登录时，会向服务器发送请求，该请求中包含了 cookie，cookie 中有账号和密码信息，
服务器接收后，记录账号和密码，将其存入 session 中，在服务器端表示为 session_key,并向客户端返回响应数据，
这个数据中包含了session，在客户端表示为 session_id，表示服务器记录了客户端的登录状态。
此时在客户端不用账号和密码，使用 cookie 也能登录服务器，因为客户端在发送请求时，会将包含 cookie 的请求发送给服务器，
因服务器记录了这个 cookie，“认为”客户端是登录状态，因此可以查看个人主页等需要账号、密码登录后才能浏览的页面信息。

"""

import urllib.request
# import urllib.parse

# 首先找到 人人网 的 api接口
# get 请求
get_url = 'http://www.renren.com/224549540/profile'

# 先用浏览器登录 人人网 并记录下 cookie
# 然后将cookie 加入请求头中
headers = {
	'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
	'Accept-Language': 'zh-CN,zh;q=0.9',
	'Cache-Control': 'max-age=0',
	'Connection': 'keep-alive',
	'cookie':'anonymid=kjw14975hlhv73; _r01_=1; taihe_bi_sdk_uid=d0a38e02fef7dbb87776d883a4750fab; _de=13434AC00240C4C48B3930DB5A458638; ln_uact=dqsygcz@126.com; ln_hurl=http://hdn.xnimg.cn/photos/hdn421/20140718/1330/h_main_Lpxq_27bd0003a6ba1986.jpg; _ga=GA1.2.83473288.1610589343; depovince=GW; jebecookies=f06402fe-41ef-4ecc-a542-e080402fa680|||||; JSESSIONID=abce7HrwfucvK9hXuqoCx; ick_login=a88c828e-b5c3-4fa1-9c90-5900ba6d5f7c; taihe_bi_sdk_session=890b07d9e83562331321b7523c962f8d; p=ca60521169061255d41237c50e4599e10; ap=224549540; first_login_flag=1; t=5a3d2104ce7588d6a7b947fe6d5934040; societyguester=5a3d2104ce7588d6a7b947fe6d5934040; id=224549540; xnsid=f1be8ed5; ver=7.0; loginfrom=null; wp_fold=0',
	'Referer': 'http://www.renren.com/224549540',
	'Upgrade-Insecure-Requests': '1',
	'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36'
}

request = urllib.request.Request(url=get_url, headers=headers)
response = urllib.request.urlopen(request)

resp_data = response.read().decode('utf-8')
# print(resp_data)
with open('人人网.html','w',encoding='utf-8') as file:
	file.write(resp_data)
